﻿
// Это предопределенная функция - обработчик запроса HTTP-сервиса
// 
Функция ОбработкаВызоваHTTPСервиса(Запрос) Экспорт
	
	Если Запрос.HTTPМетод = "GET" Тогда
		
		Возврат ПоказатьГлавнуюСтраницу(Запрос);

	Иначе

		Возврат ПоказатьИсходныйКод(Запрос);

	КонецЕсли;	

КонецФункции

Функция ПоказатьГлавнуюСтраницу(Запрос)

	Контекст = Запрос.Контекст;
	
	ИмяФайлаШаблона = СтрЗаменить(Контекст.ФизическийПуть, "Default.os", "Default.ospt");
	СтрокаШаблон = ПолучитьМакетСтраницы(ИмяФайлаШаблона);
	СтрокаТело = СтрЗаменить(СтрокаШаблон, "{ClientAddress}", Контекст.АдресКлиента);
	Ответ = Новый HTTPСервисОтвет(200);
	Ответ.УстановитьТелоИзСтроки(СтрокаТело);
	
	Возврат Ответ;
	
КонецФункции

Функция ПоказатьИсходныйКод(Запрос)

	Контекст = Запрос.Контекст;
	
	СтрокаИсходныйКод = ПолучитьМакетСтраницы(Контекст.ФизическийПуть);

	ИмяФайлаШаблона = СтрЗаменить(Контекст.ФизическийПуть, "Default.os", "Source.ospt");
	СтрокаШаблон = ПолучитьМакетСтраницы(ИмяФайлаШаблона);
	
	СтрокаТело = СтрЗаменить(СтрокаШаблон, "{SourceCode}", СтрокаИсходныйКод);
	
	Ответ = Новый HTTPСервисОтвет(200);
	Ответ.УстановитьТелоИзСтроки(СтрокаТело);
	
	Возврат Ответ;

КонецФункции

Функция ПолучитьМакетСтраницы(ПутьКФайлу)

	Документ = Новый ТекстовыйДокумент;
	Документ.Прочитать(ПутьКФайлу);
	Возврат Документ.ПолучитьТекст();

КонецФункции